package com.xqzgj.system.domain;

import com.xqzgj.common.annotation.Excel;
import com.xqzgj.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 库存盘点明细对象 stock_check_detail
 */
public class StockCheckDetail extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 明细ID */
    private Long id;

    /** 盘点单号 */
    @Excel(name = "盘点单号")
    private String checkCode;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsId;

    /** 商品编码 */
    @Excel(name = "商品编码")
    private String goodsCode;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品规格 */
    @Excel(name = "商品规格")
    private String goodsSpec;

    /** 商品单位 */
    @Excel(name = "商品单位")
    private String goodsUnit;

    /** 账面数量 */
    @Excel(name = "账面数量")
    private Integer bookQuantity;

    /** 实际数量 */
    @Excel(name = "实际数量")
    private Integer actualQuantity;

    /** 差异数量 */
    @Excel(name = "差异数量")
    private Integer diffQuantity;

    /** 差异金额 */
    @Excel(name = "差异金额")
    private Double diffAmount;

    /** 单价 */
    @Excel(name = "单价")
    private Double unitPrice;

    /** 批次号 */
    @Excel(name = "批次号")
    private String batchNumber;

    /** 有效期 */
    @Excel(name = "有效期")
    private String expiryDate;

    /** 盘点结果（0正常 1盘盈 2盘亏） */
    @Excel(name = "盘点结果", readConverterExp = "0=正常,1=盘盈,2=盘亏")
    private String checkResult;

    /** 盘点备注 */
    private String checkRemark;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsSpec(String goodsSpec) {
        this.goodsSpec = goodsSpec;
    }

    public String getGoodsSpec() {
        return goodsSpec;
    }

    public void setGoodsUnit(String goodsUnit) {
        this.goodsUnit = goodsUnit;
    }

    public String getGoodsUnit() {
        return goodsUnit;
    }

    public void setBookQuantity(Integer bookQuantity) {
        this.bookQuantity = bookQuantity;
    }

    public Integer getBookQuantity() {
        return bookQuantity;
    }

    public void setActualQuantity(Integer actualQuantity) {
        this.actualQuantity = actualQuantity;
    }

    public Integer getActualQuantity() {
        return actualQuantity;
    }

    public void setDiffQuantity(Integer diffQuantity) {
        this.diffQuantity = diffQuantity;
    }

    public Integer getDiffQuantity() {
        return diffQuantity;
    }

    public void setDiffAmount(Double diffAmount) {
        this.diffAmount = diffAmount;
    }

    public Double getDiffAmount() {
        return diffAmount;
    }

    public void setUnitPrice(Double unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Double getUnitPrice() {
        return unitPrice;
    }

    public void setBatchNumber(String batchNumber) {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber() {
        return batchNumber;
    }

    public void setExpiryDate(String expiryDate) {
        this.expiryDate = expiryDate;
    }

    public String getExpiryDate() {
        return expiryDate;
    }

    public void setCheckResult(String checkResult) {
        this.checkResult = checkResult;
    }

    public String getCheckResult() {
        return checkResult;
    }

    public void setCheckRemark(String checkRemark) {
        this.checkRemark = checkRemark;
    }

    public String getCheckRemark() {
        return checkRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("checkCode", getCheckCode())
                .append("goodsId", getGoodsId())
                .append("goodsCode", getGoodsCode())
                .append("goodsName", getGoodsName())
                .append("goodsSpec", getGoodsSpec())
                .append("goodsUnit", getGoodsUnit())
                .append("bookQuantity", getBookQuantity())
                .append("actualQuantity", getActualQuantity())
                .append("diffQuantity", getDiffQuantity())
                .append("diffAmount", getDiffAmount())
                .append("unitPrice", getUnitPrice())
                .append("batchNumber", getBatchNumber())
                .append("expiryDate", getExpiryDate())
                .append("checkResult", getCheckResult())
                .append("checkRemark", getCheckRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}